sas学习笔记(三)call missing、空值统一替换 | 您所在的位置:网站首页 › sas min函数出现missing值 › sas学习笔记(三)call missing、空值统一替换 |
1.CALL MISSING:为参数列表中的每个数值变量赋一个普通的数字缺失值(.),为参数列表中的每个字符变量赋一个字符缺失值( )。如果字符变量的当前长度等于最大长度,则当前长度不会改变。否则,当前长度设置为1。 可以在参数列表中混合使用字符变量和数值变量。例: data test_1; prod='shoes'; invty=7498; sales=23759; put prod= invty= sales=; call missing(prod,invty); put prod= invty= sales=; run; 结果: prod=shoes invty=7498 sales=23759 prod= invty=. sales=237592.空值统一填补(替换): 需要统一填补数据集中的空值时,可以通过数组进行处理。array {数组名} _numeric_ 定义一个包含数据集中所有数值型变量的数组;相应的,array {数组名} _character_ 定义一个包含数据集中所有字符型变量的数组。通过do循环对数组进行处理: data test_4; set test_3; *用999填充数据集中所有数值型变量空值; array fill_n _numeric_; do over fill_n; if fill_n=. then fill_n=999; end; *用"错误!!!"填充数据集中所有字符型变量空值; array fill_c _character_; do over fill_c; if fill_c="" then fill_c="错误!!!"; end; run;下图为填充前后的结果: |
CopyRight 2018-2019 实验室设备网 版权所有 |